import Http from '../request'

/**
 * 权限相关接口
 */
export default class File {
  /**
   * 分页请求
   *
   * @param pageInfo 分页查询条件
   */
  static page(pageInfo = {}) {
    return Http.postData('/page/file', pageInfo)
  }

  /**
   * 通过 ID 查询
   *
   * @param id ID
   */
  static find(id) {
    return Http.get(`/file/${id}`, null)
  }

  /**
   * 创建 (新增)
   *
   * @param formData  利用 FormData 作为文件参数
   * @param openLoading 是否打开全局 Loading
   */
  static create(formData, openLoading) {
    return Http.uploadFile('/file', formData, openLoading)
  }

  /**
   * 更新
   * 根据传递的参数更新，字段为空则不更新
   *
   * @param fileDTO  file 信息
   */
  static update(fileDTO) {
    return Http.putData(`/file/${fileDTO.id}`, fileDTO)
  }

  /**
   * 通过 key 删除
   *
   * @param fileKey 文件在存储系统的key
   */
  static delete(fileKey) {
    return Http.deleteData(`/file/${fileKey}`, null)
  }
}
